package day01;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 * 
 * 使用匿名内部类和lambda两种写法
 */
/* 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 * 
 * @author Xiloer
 *
 */
public class Test02 {
	public static void main(String[] args) {
		File dir = new File("./src/main/java/file");
		if(dir.isDirectory()){
			/*FileFilter filter = new FileFilter() {
				public boolean accept(File file) {
					return file.getName().contains("s");
				}
			};*/
			/*FileFilter filter = (File file) ->{
				return file.getName().contains("s");
			};*/
//			省去了借口名和方法名参数列表，数据类型，省去花括号
			FileFilter filter = (file) ->
				file.getName().contains("s");

			File [] sub = dir.listFiles(filter);
			for (int i = 0; i < sub.length; i++) {
				System.out.println(sub[i].getName());
			}
		}


	}
}
/*
	提示代码:
	需要用到的语句，尝试按照正确顺序将下列代码并放在main方法中完成需求，
	并在注释中标注每句话的作用，
	//【指定一个文件】
	File dir = new File(".");

	//【在这里标注该句代码意义】
	File[] suns = dir.listFiles(new FileFilter() {
		public boolean accept(File file) {

		}
	});

	//【如果是目录】
	if(dir.isDirectory()){

	}

	//【输出带s的目标文件】
	System.out.println(subs[i].getName());

	//【返回包含s的文件】
	return file.getName().contains("s");

	//【输出sub数组】
	for(int i=0;i<subs.length;i++){

	}



 */